const user = require("./5user集合");

const userMsg = [{
  name: "张三",
  age:18,
  sex:"男",
  isGoods:false,
  tel:"17600901910",
  hobby:["篮球","足球","排球"]
},{
  name: "李四",
  age:20,
  sex:"女",
  isGoods:false,
  tel:"17600901911",
  hobby:["篮球","编程","排球"]
},{
  name: "大李四",
  age:20,
  sex:"女",
  isGoods:false,
  tel:"17600901911",
  hobby:["篮球","编程","排球"]
},{
  name: "王二",
  age:30,
  sex:"男",
  isGoods:true,
  tel:"17600901912",
  hobby:["篮球","编程","排球"]
},{
  name: "赵五",
  age:20,
  sex:"女",
  isGoods:false,
  tel:"17600901913",
  hobby:["篮球"]
},{
  name: "钱六",
  age:20,
  sex:"女",
  isGoods:true,
  tel:"17600901914",
  hobby:["篮球","编程","排球"]
}];

// 插入数据的语法
// user.insertMany(数据);
// 数据
// 可以是数组形式：插入多条数据
// 可以是对象形式：插入单条数据
// 返回值是一个Promise实例
// user.insertMany(userMsg).then(res=>{
//   console.log(res);
// }).catch(code=>{
//   console.log(code);
// })

// 更新数据的语法
// user.updateOne(条件, 新数据);
// user.updateMany();
// 返回值是一个Promise实例
// user.updateMany({
//   name:"1234"
// }, {
//   age:18
// }).then(data=>{
//   console.log(data);
// }).catch(code=>{
//   console.log(code);
// })


// 删除数据的语法
// user.deleteOne(条件);
// user.deleteMany();
// 返回值是一个Promise实例
// user.deleteMany({name:"1234"}).then(data=>{
//   console.log(data);
// }).catch(code=>{
//   console.log(code);
// })

// user.deleteMany({}).then(data=>{
//   console.log(data);
// }).catch(code=>{
//   console.log(code);
// })


// 语法
// user.find(条件, 约束显示字段);
// 返回值是一个Promise实例

// 查询所有
// const where = {};
// 查询单条
// const where = {name:"张三"};
// 模糊查询
// const where = {name:/^李/};
// const where = {name:/李/};
// 范围查询
// const where = {age:{$lt:30, $gt:19}};
// const where = {age:{$lte:30, $gte:19}};
// 或
// const where = {$or: [ {name:"李四"}, {name:"王二"} ] };
// 且
// const where = {name:"张三", age:18};
// user.find(where, {__v:0,_id:0,hobby:0}).then(data=>{
//   console.log(data)
// }).catch(code=>{
//   console.log(code);
// })

// 排序查
// user.find({}, {__v:0,_id:0,hobby:0}).sort({age:-1})
// .then(data=>{
//   console.log(data)
// }).catch(code=>{
//   console.log(code);
// })

// 指定查询位置
// user.find({}, {__v:0,_id:0,hobby:0}).skip(2)
// .then(data=>{
//   console.log(data)
// }).catch(code=>{
//   console.log(code);
// })

// 指定查询个数
// user.find({}, {__v:0,_id:0,hobby:0}).limit(3)
// .then(data=>{
//   console.log(data)
// }).catch(code=>{
//   console.log(code);
// })

// 分页查询
// 共有6条数据，一份放2条，共3页，页码索引从0开始
// let index = 2;
// const num = 2;
// user.find({}, {__v:0,_id:0,hobby:0}).limit(num).skip(index*num)
// .then(data=>{
//   console.log(data)
// }).catch(code=>{
//   console.log(code);
// })

// 共有10条数据，一份放4条，共3页，页码索引从0开始
// num:4
// 0index : index*num ~ index*num +num
// 1index : index*num ~ index*num +num
// 2index : index*num ~ index*num +num

// 查数量
// user.countDocuments().then(data=>{
//   console.log(data);
// })

// 查分类
// user.distinct("sex").then(data=>{
//   console.log(data);
// })
